/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2001 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.db.explorer; import java.beans.*; import java.awt.*; import java.sql.*; /** A property editor for Color class. * @author Jan Jancura, Ian Formanek * @version 0.10, 09 Mar 1998 */ public class DatabaseTypePropertyEditor implements PropertyEditor { private int[] constants; private String[] names; private int index; private String name; private PropertyChangeSupport support; public DatabaseTypePropertyEditor() { support = new PropertyChangeSupport(this); constants = new int[] {java.sql.Types.ARRAY, java.sql.Types.BIGINT, java.sql.Types.BINARY, java.sql.Types.BIT, java.sql.Types.BLOB, java.sql.Types.CHAR, java.sql.Types.CLOB, java.sql.Types.DATE, java.sql.Types.DECIMAL, java.sql.Types.DISTINCT, java.sql.Types.DOUBLE, java.sql.Types.FLOAT, java.sql.Types.INTEGER, java.sql.Types.JAVA_OBJECT, java.sql.Types.LONGVARBINARY, java.sql.Types.LONGVARCHAR, java.sql.Types.NUMERIC, java.sql.Types.REAL, java.sql.Types.REF, java.sql.Types.SMALLINT, java.sql.Types.TIME, java.sql.Types.TIMESTAMP, java.sql.Types.TINYINT, java.sql.Types.VARBINARY, java.sql.Types.VARCHAR, java.sql.Types.OTHER}; names = new String[] {"ARRAY", "BIGINT", "BINARY", "BIT", "BLOB", "CHAR", "CLOB", "DATE", "DECIMAL", "DISTINCT", "DOUBLE", "FLOAT", "INTEGER", "JAVA_OBJECT", "LONGVARBINARY", "LONGVARCHAR", "NUMERIC", "REAL", "REF", "SMALLINT", "TIME", "TIMESTAMP", "TINYINT", "VARBINARY", "VARCHAR", "OTHER"}; } public DatabaseTypePropertyEditor(int[] types, String[] titles) { support = new PropertyChangeSupport(this); constants = types; names = titles; } public Object getValue () { return new Integer(constants[index]); } public void setValue (Object object) { if (!(object instanceof Number)) { throw new IllegalArgumentException("cannot operate with "+object); } int ii = ((Number)object).intValue (); int i, k = constants.length; for (i = 0; i < k; i++) { if (constants [i] == ii) break; } if (i == k) { throw new IllegalArgumentException("cannot find "+ii); } index = i; name = names [i]; support.firePropertyChange (null, null, null); } public String getAsText () { return name; } public void setAsText (String string) throws IllegalArgumentException { int i, k = names.length; for (i = 0; i < k; i++) if (names [i].equals (string)) break; if (i == k) throw new IllegalArgumentException("cannot find as text "+string); index = i; name = names [i]; return; } public String getJavaInitializationString () { return "" + index; } public String[] getTags () { return names; } public boolean isPaintable () { return false; } public void paintValue (Graphics g, Rectangle rectangle) { } public boolean supportsCustomEditor () { return false; } public Component getCustomEditor () { return null; } public void addPropertyChangeListener (PropertyChangeListener propertyChangeListener) { support.addPropertyChangeListener (propertyChangeListener); } public void removePropertyChangeListener (PropertyChangeListener propertyChangeListener) { support.removePropertyChangeListener (propertyChangeListener); } } /* * <<Log>> * 7 Gandalf 1.6 10/23/99 Ian Formanek NO SEMANTIC CHANGE - Sun * Microsystems Copyright in File Comment * 6 Gandalf 1.5 8/19/99 Slavek Psenicka English * 5 Gandalf 1.4 8/18/99 Slavek Psenicka debug log removed * 4 Gandalf 1.3 7/21/99 Slavek Psenicka * 3 Gandalf 1.2 6/15/99 Slavek Psenicka debug prints * 2 Gandalf 1.1 5/21/99 Slavek Psenicka new version * 1 Gandalf 1.0 5/14/99 Slavek Psenicka * $ */